package com.example.demo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.demo.common.response.ResponsePage;
import com.example.demo.entity.Menu;
import com.example.demo.entity.RoleMenuPermissionDto;
import com.example.demo.entity.User;
import com.example.demo.entity.VO.Announcement;
import com.example.demo.entity.param.AnnouncementParam;
import com.example.demo.entity.param.UserMenuParam;

import java.util.List;

public interface UserService extends IService<User> {

    List<RoleMenuPermissionDto> getMenuRole();

    List<RoleMenuPermissionDto> getAllMenu();

    void updateRoleMenu(UserMenuParam menuParam);

    void updateUserInfo(User user);

    ResponsePage<Announcement> getAnnouncementList(AnnouncementParam param);

    List<Menu> getMenuList(Integer role);

    String login(User user);

    String register(User user);

    ResponsePage<User> getUserList(Integer pageNum, Integer pageSize, Integer type);

    void addUser(User user);

    void setRoleById(Long userId);

    void batchAddUser();

    void batchDelete(List<Long> userlist);
}
